package pay.entity;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import pay.config.DataBaseName;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@TableName("system_user_app")
public class SystemUserAppEntity extends BaseEntity {
    /**
     * 数据库自增id
     */
    @TableId("id")
    private Integer id;
    /**
     * 用户随机字符串id
     */
    @TableField("user_id")
    private String userId;
    /**
     * 头像
     */
    @TableField("head_pic")
    private String headPic;
    /**
     * 用户手机号
     */
    @TableField("phone_number")
    private String phoneNumber;
    /**
     * 性别 0女 1男
     */
    @TableField("sex")
    private Integer sex;
    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickName;
    /**
     * 生日
     */
    @TableField("birthday")
    private Date birthday;
    /**
     * 填写的邀请码（注册时候填写的他人邀请码）
     */
    @TableField("set_invitation_code")
    private String setInvitationCode;
    /**
     * 自己的邀请码（注册完成之后根据规则生成的邀请码）
     */
    @TableField("invitation_code")
    private String invitationCode;
    /**
     * 身高
     */
    @TableField("height")
    private BigDecimal height;
    /**
     * 体重
     */
    @TableField("weight")
    private BigDecimal weight;
    /**
     * 是否会员 0非会员 1会员
     */
    @TableField("is_vip")
    private Integer isVip;
    /**
     * 会员开始时间
     */
    @TableField("vip_start_time")
    @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    private Date vipStartTime;
    /**
     * 会员结束时间
     */
    @TableField("vip_end_time")
    @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    private Date vipEndTime;
    /**
     * 会员等级
     */
    @TableField("vip_level")
    private Integer vipLevel;
    /**
     * 会员积分
     */
    @TableField("vip_point")
    private Integer vipPoint;
    /**
     * 真实姓名
     */
    @TableField("real_name")
    private String realName;
    /**
     * 身份证
     */
    @TableField("identity_card")
    private String identityCard;
    /**
     * 是否实名认证 0 未认证 1认证
     */
    @TableField("is_authentication")
    private Integer isAuthentication;
    /**
     * 学校
     */
    @TableField("school")
    private String school;
    /**
     * 入学年份
     */
    @TableField("enrollment_year")
    private String enrollmentYear;
    /**
     * 学院
     */
    @TableField("academy")
    private String academy;
    /**
     * 企业
     */
    @TableField("enterprise")
    private String enterprise;
    /**
     * 俱乐部
     */
    @TableField("club")
    private String club;
    /**
     * 省编号
     */
    @TableField("province_code")
    private String provinceCode;
    /**
     * 省名称
     */
    @TableField("province_name")
    private String provinceName;
    /**
     * 市编号
     */
    @TableField("city_code")
    private String cityCode;
    /**
     * 市名称
     */
    @TableField("city_name")
    private String cityName;
    /**
     * 区编号
     */
    @TableField("district_code")
    private String districtCode;
    /**
     * 区名称
     */
    @TableField("district_name")
    private String districtName;
    /**
     * 详细地址
     */
    @TableField("detailed_address")
    private String detailedAddress;

    /**
     * 支付宝第三方登录id关联
     */
    @TableField("alipay_authentication_id")
    private Integer alipayAuthenticationId;
    /**
     * 微信第三方登录id关联
     */
    @TableField("weixin_authentication_id")
    private String weixinAuthenticationId;


    /**
     * 微信第三方登录id关联
     */
    @TableField("register")
    private Integer register;

    @TableField("personalized_signature")
    private String personalizedSignature;

    /**
     * 个人运动偏好id合集
     */
    @TableField(exist = false)
    private List<Integer> tagList;

    /**
     * 位置可以更新时间
     */
    @TableField("can_update_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date canUpdateTime;

    /**
     * 删除
     */
    @TableField("del")
    @TableLogic
    private Integer del;


    /**
     * 参加社团的logo图片地址
     */
    @TableField(exist = false)
    private String clubLogoUrl;

    @TableField(exist = false)
    private String clubName;


    @TableField("athlete_number")
    private String athleteNumber;

    @TableField("tag_id")
    private String tagId;

    @TableField("real_name_update_time")
    private Date realNameUpdateTime;


    @TableField(exist = false)
    private Integer isAttention;


}
